home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Speccy ClassiX 1998
/
Speccy ClassiX 98.iso
/
amiga_system
/
the_aminet
/
comm
/
bbs
/
bbbbs85.lha
/
rexx
/
bbsCallBack.baud
< prev
next >
Wrap
Text File
|
1995-01-19
|
4KB
|
176 lines
/* $VER: bbsCallBack.baud 8.4 (19.1.95) */
OPTIONS RESULTS
ARG name colorflag nosounds password
bbspath=GETCLIP('BBS_path')
bbsname=GETCLIP('BBS_bbsname')
bbsvers=GETCLIP('BBS_version')
namemask=COMPRESS(XRANGE(),XRANGE('A','Z')' _-')
CR='0D'x;lineup='1B'x'M'
def='';pen2='
';pen3='
';pen7='
'
IF colorflag=0 THEN DO;def='';pen2='';pen3='';pen7='';END
telnum=getinput(0 pen7'Please Enter Phone Number For Call Back: 'def )
mask=COMPRESS(XRANGE(),'0123456789-, @#*')
telnum=COMPRESS(telnum,mask)
IF telnum='' THEN EXIT 0
DO n=1 WHILE n<LENGTH(telnum) & ~DATATYPE(SUBSTR(telnum,n,1),'W')
END
IF SUBSTR(telnum,n,1)<2 THEN
DO
SAY 'No long distance numbers, please!'CR
EXIT 0
END
temp='The BBS will now call' telnum 'to verify. Correct? (Ny) > '
IF getinput(1 temp)~='Y' THEN EXIT 0
IF nosounds~=1 THEN ADDRESS AREXX bbsSounds.rexx bbspath'Sounds/' 'CBV'
telnum=COMPRESS(telnum)
CALL SETCLIP('CALLBACK',telnum)
SAY pen3'Logging Off. Callback to' telnum 'in 30 seconds.'def||CR
SAY 'If your modem does not answer by itself after the first RING,'CR
SAY ' type ATA and press RETURN to force your modem to answer.'CR
SAY CR
SAY pen2'GoodBye for now,' name '.'def||CR
REMOTE OFF
Timeout 10
Send '\ah'
Wait 'OK,RING'
IF RESULT~='OK' THEN
DO
Send '\d'
Wait 'OK,RING'
IF RESULT~='OK' THEN EXIT 0
END
CALL DELAY(50)
Send 'ATH1\r'
SAY CR
CALL DELAY(99)
SAY CR
DO n=14 TO 1 BY -1
MSG '1B'x'M' n*2 'seconds left before CBV callback...'
CALL DELAY(99)
END
MSG lineup 'Beginning CBV callback... '
SAY CR
Timeout 10
Send '\ah'
Wait 'OK'
IF RESULT~='OK' THEN
DO
Send '\d'
Wait 'OK'
IF RESULT~='OK' THEN EXIT 0
END
CALL DELAY(50)
Send 'ATL3M1DT'telnum'\r' /* M1 = Speaker ON, L3 = volume up */
Timeout 90
Wait 'CONNECT,NO CARRIER,BUSY,ERROR'
IF RESULT~='CONNECT' THEN
DO
CALL upCBV('FAILED')
EXIT 1
END
REMOTE ON
DO i=1 TO 14
SAY CR
END
SAY CENTER(bbsvers,75)||CR
SAY CR
SAY CENTER(bbsname 'Call Back Identity Verification',74)||CR
SAY CR
Timeout 150
DO cnt=1 TO 3
Namentr=getinput(0 pen3' Enter Name: 'def)
Namentr=cleanstring('1:'Namentr)
IF Namentr=name THEN LEAVE cnt
END
DO count=1 TO 4
IF cnt>3 | count>3 THEN
DO
SAY 'Incorrect Entry!'||CR
SAY 'Verification Denied.'||CR
SAY pen2'Leave a 'pen3'['pen7'C'pen3']omment'pen2' to SysOp' pen2'for manual verification.'def||CR
SAY CR
CALL upCBV('DENIED')
EXIT 1
END
pw=getinput(0 pen3'Enter Password: 'def)
IF UPPER(pw)=password THEN
DO
CALL upCBV('VERIFIED')
v=GETCLIP('BBS_COMMAND')
CALL SETCLIP('BBS_COMMAND',v'V')
EXIT 0
END
END
EXIT 0
getinput:
PARSE ARG oneflag' 'pline
CALL checkdcd()
OPTIONS PROMPT pline
PULL inarg
inarg=STRIP(inarg)
IF oneflag THEN inarg=LEFT(inarg,1)
inarg=cleanstring(0':'inarg)
RETURN inarg
cleanstring:
PARSE ARG nflag':'cstr
IF nflag=1 THEN
DO
cstr=COMPRESS(cstr,"'`")
cstr=TRANSLATE(cstr,,namemask)
cstr=SPACE(cstr,1,'_')
RETURN cstr
END
bot=XRANGE(,'1F'x)
top=XRANGE('7F'x)
cstr=COMPRESS(cstr,bot||top)
cstr=STRIP(cstr)
RETURN cstr
checkdcd:
dcd
IF RC=0 THEN
DO
DO dcds=1 TO 3 /* 5 second delay */
CALL DELAY(50)
dcd
IF RC~=0 THEN RETURN
END
dcd
IF RC=0 THEN EXIT 0
END
xmsg=GETCLIP('BBS_MESSAGE')
IF xmsg~='' THEN
DO
SAY CR
SAY bak2' Message From BBBBS: 'def||CR
SAY xmsg||CR
SAY CR
CALL SETCLIP('BBS_MESSAGE')
END
IF POS('G',GETCLIP('BBS_COMMAND'))>0 THEN EXIT 1
RETURN
upCBV:
ARG res .
temp=bbspath'Lists/CBV_USERS'
IF EXISTS(temp) THEN t2='A'
ELSE t2='W'
x=OPEN(f,temp,t2)
IF x=0 THEN RETURN 1
IF t2='W' THEN CALL WRITELN(f,'*** Call Back Verify Log ***')
temp=RIGHT(TIME('C'),7) COMPRESS(DATE())
temp=temp LEFT(name,24) RIGHT(telnum' RESULT:',20) res
CALL WRITELN(f,temp)
CALL CLOSE(f)
RETURN 0
/* bbsCallBack.baud */